﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Dominio.Entidades;
using Util;

/// <summary>
/// Summary description for Vacaciones
/// </summary>
namespace Dominio.Negocio
{
    public class Vacaciones_BLL : Disposable
    {
        VacacionesDataContext db = new VacacionesDataContext();
        bool _disposed;

        public List<DetalleSeguimiento> GetVacacionesUsuario(string idUsuario, int anyo)
        { 
            //var predicate = PredicateBuilder.True<DetalleSeguimiento>();
            //predicate = predicate.And(v => v.Anyo == anyo && v.IdUsuario == idUsuario && new[] { 2, 3, 4 }.Contains(v.idTipoFalta));
            var listDetalle = db.DetalleSeguimientos
                .Where(v => v.Anyo == anyo && v.IdUsuario == idUsuario && new[] { 2, 3, 4 }.Contains(v.idTipoFalta))
                .ToList();
            return listDetalle;
        }

        public void pruebaLinq()
        {
            
            // List<PruebaLinq> resul = db.pruebaLinqProcedure("109584");
            //resul.
            var prueba = db.getCustomerAll("109584");
            foreach (var p in prueba)
            {
                System.Diagnostics.Debug.Write(p.NOMBRE);
            }

        }

        #region Métodos sobreescritos
        /// <summary>
        /// Método sobrecargado de Dispose que será el que
        /// libera los recursos, controla que solo se ejecute
        /// dicha lógica una vez y evita que el GC tenga que
        /// llamar al destructor de clase.
        /// </summary>
        /// <param name=”bool”></param>
        protected override void Dispose(bool disposing)
        {
            if (_disposed)
                return;

            if (disposing)
            {
                // free other managed objects that implement
                // IDisposable only
                if (db != null)
                    db.Dispose();
            }

            // release any unmanaged objects
            // set the object references to null

            _disposed = true;
        }
        #endregion
    }
}